
#ifndef __LINUX_RADIX_TREE_H__
#define __LINUX_RADIX_TREE_H__

#include "linux/types.h"
#include "linux/list.h"

struct radix_tree_node
{
    unsigned long index;
    void *item;

    struct list_head list;
};
struct radix_tree_root
{
    struct list_head rnode;
};


void radix_tree_init(struct radix_tree_root *root);
int radix_tree_insert(struct radix_tree_root *root, unsigned long index, void *item);
void *radix_tree_lookup(struct radix_tree_root *root, unsigned long index);
void *radix_tree_delete(struct radix_tree_root *root, unsigned long index);

#endif